﻿// <copyright file="IAppNotificationSender.cs" company="Robert Venables">
// Copyright (c) 2009 Robert Venables.
// </copyright>
// <author>Robert Venables</author>
// <email>rob@rvenables.com</email>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace VNotify
{
    /// <summary>
    /// Exposes everything needed to send an AppNotification.
    /// </summary>
    public interface IAppNotificationSender
    {
        /// <summary>
        /// Gets the API key that the AppNotificationSender was initialized with.
        /// </summary>
        string ApiKey { get; }

        /// <summary>
        /// Initialize a sender with an API key.
        /// </summary>
        /// <param name="apiKey">API key to use.</param>
        void Initialize(string apiKey);

        /// <summary>
        /// Send a specific notification.
        /// </summary>
        /// <param name="source">The notification to send.</param>
        void SendNotification(AppNotification source);
    }
}
